/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.opensource.jdom.taggen.html.tag;

import org.opensource.jdom.taggen.html.CommonAttributes;

/**
 *
 * Defines a form button that has content within it.
 *
 * <h2>Example</h2> <pre><code class="html">
 *<strong>&lt;button&gt;</strong>Push my &lt;strong&gt;button&lt;/strong&gt;
 * baby<strong>&lt;/button&gt;</strong>
 *</code></pre>
 *
 * @see Input
 * @author sergio.valdez
 */
public class Button extends CommonAttributes{

    /**
     * can be used to associate a particular keyboard shortcut to the element.
     */
    private String accesskey;
    /**
     * can be used to specify where the element appears in the tab order of the
     * page.
     */
    private String tabindex;
    /**
     * can be used to disable the button. It must be used in the format
     * disabled="disabled".
     */
    private String disabled;
    /**
     * can be used to associate a name to the button so that it can be processed
     * by a form-handling script.
     */
    private String cssName;
    /**
     * can be used to specify the button type. Values can be button
     * (doesn't do anything), submit (default; submits the form when the button
     * is selected) or reset (resets the form).
     */
    private String type;
    /**
     * can be used to specify an initial value.
     */
    private String cssValue;

    /**
     * can be used to associate a particular keyboard shortcut to the element.
     * @return the accesskey
     */
    public String getAccesskey() {
        return accesskey;
    }

    /**
     * can be used to associate a particular keyboard shortcut to the element.
     * @param accesskey the accesskey to set
     */
    public void setAccesskey(String accesskey) {
        this.accesskey = accesskey;
    }

    /**
     * can be used to specify where the element appears in the tab order of the
     * page.
     * @return the tabindex
     */
    public String getTabindex() {
        return tabindex;
    }

    /**
     * can be used to specify where the element appears in the tab order of the
     * page.
     * @param tabindex the tabindex to set
     */
    public void setTabindex(String tabindex) {
        this.tabindex = tabindex;
    }

    /**
     * can be used to disable the button. It must be used in the format
     * disabled="disabled".
     * @return the disabled
     */
    public String getDisabled() {
        return disabled;
    }

    /**
     * can be used to disable the button. It must be used in the format
     * disabled="disabled".
     * @param disabled the disabled to set
     */
    public void setDisabled(String disabled) {
        this.disabled = disabled;
    }

    /**
     * can be used to associate a name to the button so that it can be processed
     * by a form-handling script.
     * @return the cssName
     */
    public String getCssName() {
        return cssName;
    }

    /**
     * can be used to associate a name to the button so that it can be processed
     * by a form-handling script.
     * @param cssName the cssName to set
     */
    public void setCssName(String cssName) {
        this.cssName = cssName;
    }

    /**
     * can be used to specify the button type. Values can be button
     * (doesn't do anything), submit (default; submits the form when the button
     * is selected) or reset (resets the form).
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * can be used to specify the button type. Values can be button
     * (doesn't do anything), submit (default; submits the form when the button
     * is selected) or reset (resets the form).
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * can be used to specify an initial value.
     * @return the cssValue
     */
    public String getCssValue() {
        return cssValue;
    }

    /**
     * can be used to specify an initial value.
     * @param cssValue the cssValue to set
     */
    public void setCssValue(String cssValue) {
        this.cssValue = cssValue;
    }
}
